9202: DRM_LICEVAL_CONTEXT: valid data should work
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9235: STORE operation with ONSTORE right should work
TestLicEvalContextSetting(0,valid)92
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9238: STORE operation with DRM_LICENSE_EVAL_DONE_WITH_OPERATION
TestLicEvalContextSetting(4,wszOldLicense)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)

9245: SELECT operation should work with CAN_DO operation state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)
 
9246:SELECT operation should work with DONE_WITH operation state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)
 
9249: verify STORE operation and SELECToperation work together well
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9258:DELETE operation works with CAN_DO state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_DELETE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)
 
9259:DELETE operation works with DONE_WITH state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_DELETE,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)
 
9270:REPORTCLOCK_ROLLBACK operation works with valid data
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_REPORTCLOCK_ROLLBACK,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)

9273:ACTION operation works for play action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_CAN_DO_OPERATION,Play,NORMAL, NORMAL)

9274:ACTION operation works for backup action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_CAN_DO_OPERATION,Backup,NORMAL, NORMAL)

9275:ACTION operation works for Print.redbook action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_CAN_DO_OPERATION,Print.redbook,NORMAL, NORMAL)
 
-------------------BVT ends here--------------------------

'9203: LicEvalContext.pCryptoContext: NULL CryptoContext
'TestLicEvalContextSetting(1,NULL)
'TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL,NORMAL)=-2147024809(DRM_E_INVALIDARG) 

9205: DRM_LICEVAL_CONTEXT: wszContentHeader: DefaultContentHeader
TestLicEvalContextSetting(3,DefaultContentHeader)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9209: LicEvalContext.dwFlags: Context.dwFlags=0 should work
TestLicEvalContextSetting(15,NULL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=0(DRM_SUCCESS) 
 
9210: DRM_LICEVAL_CONTEXT: Context.wszContentLicense Old license should work
TestLicEvalContextSetting(4,wszOldLicense)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9211: DRM_LICEVAL_CONTEXT: Context.wszContentLicense Invalid license should fail
TestLicEvalContextSetting(4,wszInvalidLicense)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216634(LICEVAL_INVALID_LICENSE)

9212: DRM_LICEVAL_CONTEXT: Context.wszContentLicense, NULL license should fail
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9214: DRM_LICEVAL_CONTEXT: Context.wszBBVer, invalid wszBBVer=NULL should not crash, it would get overwritten
TestLicEvalContextSetting(5,NULL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL) 

''BUGBUG 3199....fix '''
9215: DRM_LICEVAL_CONTEXT: Context.wszBBVer, invalid wszBBVer=1.0.0.0 should not fail, it gets overwritten
TestLicEvalContextSetting(5,invalid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL) 

''BUGBUG 3200.....fix
9216: DRM_LICEVAL_CONTEXT: Context.wszDRMVer, invalid wszDRMVer=2.3.0.1 or 1.0.0.1 should get overwritten with correct version
TestLicEvalContextSetting(6,invalid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL) 

''BUGBUG 3200... fix..
9217: DRM_LICEVAL_CONTEXT: Context.wszDRMVer, invalid wszDRMVer=NULL should not crash and should get overwritten with correct version
TestLicEvalContextSetting(6,NULL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9218: DRM_LICEVAL_CONTEXT: NULL pContext should fail and handle correctly
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL,NULL,NORMAL)=-2147024809(DRM_E_INVALIDARG)

9219: Other global secure store password should be accepted
TestLicEvalContextSetting(19,InvalidGlobalSecStorePassword)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9220: NULL global secure store password should not crash and be overwritten
TestLicEvalContextSetting(19,NULL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

'''BUGBUG... crash 3302 see comment on this bug
'9223: NULL pbLicenseSecStoreContext should fail
'TestLicEvalContextSetting(7,NULL)=-2147024809(DRM_E_INVALIDARG)
'TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216367(DRM_E_INVALIDARG)

9225: NULL pbRevocationSecStoreContext should fail
TestLicEvalContextSetting(9,NULL)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NULL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

'''Take out these test cases after dev code change: option=10, and option=11
'''9224: Default AppCert1 should pass
'''TestLicEvalContextSetting(10,DefaultAppCert1)
'''TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

''''BUGBUG...3203
'''9226: invalid AppCert1 should fail
'''TestLicEvalContextSetting(10,InvalidAppCert1)
'''TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216367(DRM_E_INVALIDARG)

'BUGBUG 3204...crashed...do not run in the automation
'9227: NULL AppCert1 should fail
'TestLicEvalContextSetting(10,NULL)=-2147024809(DRM_E_INVALIDARG)
'TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

'''9222: valid AppCert2 should pass
'''TestLicEvalContextSetting(11,valid)
'''TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)


'''9228: Accept NULL AppCert2
'''TestLicEvalContextSetting(11,NULL)
'''TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)


'''9229: Accept invalid AppCert2
'''TestLicEvalContextSetting(11,InvalidAppCert2)
'''TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9230: DRM_LICEVAL_CONTEXT: Context.rgbLID invalid should fail
TestLicEvalContextSetting(12,invalid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

''BUGBUG crashed.
'9231: DRM_LICEVAL_CONTEXT: NULL Context.rgbLID should fail
'TestLicEvalContextSetting(12,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
'TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

''BUGBUG crahsed....
'9232: DRM_LICEVAL_CONTEXT: NULL rgbKID should fail
'TestLicEvalContextSetting(13,NULL)=-2147024809(DRM_E_INVALIDARG)
'TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

''BUGBUG 3206
9221: DRM_LICEVAL_CONTEXT: invalid rgbKID should get overwritten and pass
TestLicEvalContextSetting(13,InvalidKID)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)

9236: STORE operation with NO ONSTORE right should not work
TestLicEvalContextSetting(4,NOStoreRight)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216634(LICEVAL_INVALID_LICENSE)

9237: STORE operation fail without license set
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9239:STORE operation fails with DONE_WITH_OPERATION without ONSTORE right
TestLicEvalContextSetting(4,NOStoreRight)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)=-2147216634(LICEVAL_INVALID_LICENSE)

9240:STORE operation fails with DONE_WITH_OPERATION without license set
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9241: STORE operation fails with NULL operation state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,NULL,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

9242: STORE operation fails with invalid operation state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,3,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

9243: invalid fEvalResult fails gracefully
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_STORE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NULL,NORMAL)=-2147024809(DRM_E_INVALIDARG)

9244: invalid operation fails gracefully
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(NULL,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

9247: SELECT operation should fail without license
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_SELECT,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9264:DELETE operation with CAN_DO state fails without license set 
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_DELETE,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)
 
9265:DELETE operation fails with DONE_WITH state without license set
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_DELETE,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9269:REPORTCLOCK_ROLLBACK operation fails with CAN_DO state
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_REPORTCLOCK_ROLLBACK,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

9271:REPORTCLOCK_ROLLBACK operation fails when missing license
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_REPORTCLOCK_ROLLBACK,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9272:ACTION operation should fail when missing action string
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_CAN_DO_OPERATION,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)

9276:ACTION operation accept empty action name
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_CAN_DO_OPERATION, EMPTY,NORMAL, NORMAL)

9277: ACTION operation would fail if no license set
TestLicEvalContextSetting(4,NULL)=-2147024809(0X80070057, DRM_E_INVALIDARG)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,Play,NORMAL, NORMAL)=-2147216636(LICEVAL_LICENSE_NOT_SUPPLIED)

9280:ACTION operation with DONE_WITH state works for play action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,Play,NORMAL, NORMAL)

9281:ACTION operation with DONE_WITH state works for backup action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,Backup,NORMAL, NORMAL)

9282:ACTION operation with DONE_WITH state works for Print.redbook action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,Print.redbook,NORMAL, NORMAL)

11258:ACTION operation with DONE_WITH state works for CREATE_PM_LICENSE action
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,CREATE_PM_LICENSE,NORMAL, NORMAL)

11259:ACTION operation with DONE_WITH state accept empty action name
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION, EMPTY,NORMAL, NORMAL)

11260:ACTION operation with DONE_WITH state does not accept NULL action name
TestLicEvalContextSetting(0,valid)
TestLicenseEvalPerformOperations(DRM_LICENSE_EVAL_ACTION,DRM_LICENSE_EVAL_DONE_WITH_OPERATION,NULL,NORMAL, NORMAL)=-2147024809(DRM_E_INVALIDARG)
